home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / MODEMPRO / CA29-3.ZIP;1 / BBS.CMD < prev    next >
Encoding:
Text File  |  1992-07-02  |  23.5 KB  |  1,458 lines

  1. LEGE "Scripted BBS (1.2); initializing"
  2. WOPE 10,1 12,78 (default)
  3. ATSA 11,3 (default) "Initializing BBS.. "
  4. S20="_PARM"(11:14)*","*"_PARM"(0:3)
  5. S21="ATE0Q0V1X1S0=2 S7=30 S9=10^M"
  6. S22="\BBS"
  7. S23="\BBS\FILES"
  8. S24="\BBS\MAIL"
  9. S25="\BBS\BULLETIN"
  10. SET PARI NONE
  11. SET DATA 8
  12. SET STOP 1
  13. SET MASK ON
  14. SET CR_I CR_L
  15. SET ASCI UP_L LF
  16. SET SOFT ON
  17. SET ZMOD AUTO OFF
  18. SET ZMOD RECO OFF
  19. IF ISSC "BBSDAT"
  20. FCAL "BBSDAT"
  21. ELSE
  22. S10="_SCRIPT"
  23. GOSU Parse_Fn
  24. S10=S10*"\BBSDAT"
  25. IF ISSC S10 FCALL S10
  26. ENDI
  27. SUBD S29
  28. DLDI S28
  29. FFIR S22
  30. IF FAILURE or NOT ISFILE S22*"\BBS-User"
  31. WCLO
  32. GOTO NoUser
  33. ENDI
  34. SET BAUD S20(5:8)
  35. SET PORT S20(0:3)
  36. SET INAF OFF
  37. SET ALAR OFF
  38. SET ATIM 1
  39. CHDI S22
  40. SET DLDI S23
  41. LEGE "Scripted BBS (1.1);  Press ESC to terminate or to CHAT."
  42. TRAN "_MESCAPE"
  43. WCLO
  44. ON ESCA GOSU Escape
  45. S9="* BBS script loaded"
  46. CLOG S9
  47. GOSU Log_Item
  48. GOTO Restart
  49. Parse_Fn:
  50. LENG S10 N10
  51. FOR N11=(N10-1),0,-1
  52. IF STRCMP S10(N11:N11) ":" or STRCMP S10(N11:N11) "\" GOTO PAFN100
  53. ENDF
  54. S11=S10
  55. S10=""
  56. RETU
  57. PAFN100:
  58. S11=S10(N11+1:N10)
  59. IF STRCMP S10(N11:N11) "\" DEC N11
  60. S10=S10(0:N11)
  61. RETU
  62. NoUser:
  63. LEGE "Scripted BBS (1.1);  Error initializing"
  64. WOPE 10,10,17,70 (default) NoUser_E
  65. ATSA 10,12 (default) " BBS initialization "
  66. ATSA 11,12 (default) "There is no user ID file (BBS-User) to be found on the"
  67. ATSA 12,12 (default) "subdirectory: "*S22
  68. ATSA 14,12 (default) "The script BBSETUP must be used to identify the subdir-"
  69. ATSA 15,12 (default) "ectory used by this BBS, and to create and maintain the"
  70. ATSA 16,12 (default) "files it uses."
  71. ATSA 17,29 (default) " Press any key to continue "
  72. KEYG S0
  73. NoUser_E:
  74. WCLO
  75. EXIT
  76. Escape:
  77. CURS N98,N97
  78. WOPE 10,1 20,78 (default) ESC_ESC
  79. ATSA 10,3 (default) " BBS Operator menu "
  80. ATSA 12,3 (default) "1) Terminate the BBS"
  81. IF FLAG(3)
  82. ATSA 13,3 (default) "2) Enter chat with caller"
  83. ELSE
  84. ATSA 13,3 (default) ".. No caller currently on "
  85. ENDI
  86. ATSA 14,3 (default) "3) Cancel this window"
  87. ATSA 15,1 (default) "√ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ¥"
  88. IF ISSCRIPT "BBMAINT" and NOT FLAG(3)
  89. ATSA 16,3 (default) "4) Invoke BBS maintenance scripts"
  90. ELSE
  91. ATSA 16,3 (default) ".. Maintenance script not available"
  92. ENDI
  93. IF ISSCRIPT "BBSETUP" and NOT FLAG(3)
  94. ATSA 17,3 (default) "5) Invoke BBS setup script"
  95. ELSE
  96. ATSA 17,3 (default) ".. Setup script not available"
  97. ENDI
  98. ATSA 18,1 (default) "√ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ¥"
  99. ATSA 19,3 (default) "Select item: "
  100. ATSA 20,31 (default) " Press ESC to cancel "
  101. LOCA 19,16
  102. KEYG S0
  103. WCLO
  104. LOCA N98,N97
  105. SWIT S0
  106. CASE "1"
  107. GOTO End
  108. ENDC
  109. CASE "2"
  110. IF FLAG(3) GOTO Chat
  111. ENDC
  112. CASE "3"
  113. RETU
  114. ENDC
  115. CASE "4"
  116. GOSU EndBBS
  117. IF ISFILE "BBMaint" EXECUTE "BBMaint"
  118. ENDC
  119. CASE "5"
  120. GOSU EndBBS
  121. IF ISFILE "BBSetup" EXECUTE "BBSetup"
  122. ENDC
  123. DEFA
  124. SOUN 100,100
  125. ENDC
  126. ENDS
  127. GOTO Escape
  128. ESC_ESC:
  129. S0="3"
  130. RETU
  131. End:
  132. GOSU EndBBS
  133. EXIT
  134. EndBBS:
  135. SET TTHR OFF
  136. WOPE 10,1 12,78 (default)
  137. ATSA 11,3 (default) "Terminating BBS.. "
  138. HANG
  139. S9="* BBS script terminated"
  140. CLOG S9
  141. GOSU Log_Item
  142. SET DLDI S28
  143. CHDI S29
  144. RESE
  145. CLEA
  146. MESS "BBS terminated... type Alt-X to exit COM-AND^M^J^M^J"
  147. TRAN "_MINIT"
  148. DELE "\HOSTTEMP.TXT"
  149. WCLO
  150. RETU
  151. Chat:
  152. TRAN "^M^J"
  153. TRAN "^M^JOperator initiated chat mode..."
  154. S2="_LEGEND"
  155. LEGE "Scripted BBS (1.1);  Chat mode; null entry at prompt to exit"
  156. Chat_Loo:
  157. MESS "^M^JSYSOP: "
  158. GET S0 80
  159. IF NULL S0
  160. MESS "Continue? (Y/N, cr=y): "
  161. GET S0 2
  162. IF FIND S0 "N"
  163. TRAN "^M^JChat terminated by SYSOP"
  164. LEGE S2
  165. RETU
  166. ENDI
  167. S0=" "
  168. ENDI
  169. TRAN "^M^JSYSOP: "
  170. TRAN S0
  171. MESS "Caller: "
  172. TRAN "^M^JCaller: "
  173. GOSU Read_Com
  174. IF FLAG(0)
  175. MESS "^M^JCaller disconnected"
  176. LEGE S2
  177. RETU
  178. ENDI
  179. GOTO Chat_Loo
  180. Limit_Ti:
  181. IF FLAG(1)
  182. SET FLAG(0) OFF
  183. RETU
  184. ENDI
  185. TIME S9 1
  186. N19=S9(0:1)*60+S9(3:4)
  187. N18=S6(0:1)*60+S6(3:4)
  188. IF GT N18 N19
  189. N19=N19+1440
  190. ENDI
  191. N19=N19-N18
  192. IF GT N19 N0
  193. TRAN "^M^JYour alotted time has expired..."
  194. TRAN "^M^JYou are being disconnected."
  195. SET FLAG(0) ON
  196. RETU
  197. ENDI
  198. SET FLAG(0) OFF
  199. RETU
  200. Read_Com:
  201. IF FLAG(3)
  202. GOSU Limit_Ti
  203. IF FLAG(0) RETURN
  204. ENDI
  205. RGET S9 80 180
  206. IF NOT CONNECTED GOTO Disconnect
  207. IF FAILED GOTO Timeout
  208. FIND S9 "NO CARRIER"
  209. IF FOUND GOTO Disconnect
  210. SET FLAG(0) OFF
  211. RETU
  212. Timeout:
  213. TRAN "^M^J... autodisconnect due to timeout^M^J"
  214. MESS "^M^J... autodisconnect due to timeout"
  215. GOTO RComm_Ex
  216. Disconne:
  217. MESS "^M^JCaller disconnected"
  218. RComm_Ex:
  219. SET FLAG(0) ON
  220. RETU
  221. Display_:
  222. IF FLAG(1) RETURN
  223. TIME S9 1
  224. N19=S9(0:1)*60+S9(3:4)
  225. N18=S6(0:1)*60+S6(3:4)
  226. IF GT N18 N19
  227. N19=N19+1440
  228. ENDI
  229. N19=N0-(N19-N18)
  230. STRF S9 "^M^J(%d minutes remaining)" N19
  231. TRAN S9
  232. RETU
  233. Logon:
  234. FOPENI "BBS-User" TEXT
  235. IF FAILED
  236. SET FLAG(0) ON
  237. RETU
  238. ENDI
  239. Logon_Lo:
  240. READ S9 80 N19
  241. IF EOF
  242. FCLOSEI
  243. SET FLAG(0) ON
  244. RETU
  245. ENDI
  246. FIND S9(0:0) "<"
  247. IF FOUND GOTO Logon_Loop
  248. SWIT S1
  249. CASE S9(0:15)
  250. GOTO Logon_OK
  251. ENDC
  252. ENDS
  253. GOTO Logon_Lo
  254. Logon_OK:
  255. SET FLAG(1) OFF
  256. SET FLAG(3) ON
  257. N0=60
  258. FIND S9(16:16) "P"
  259. IF FOUND
  260. SET FLAG(1) ON
  261. N0=3000
  262. ENDI
  263. TIME S6 1
  264. FCLOSEI
  265. SET FLAG(0) OFF
  266. RETU
  267. Disp_Fil:
  268. IF ISFILE S8
  269. TRAN "^M^J"
  270. SEND ASCII S8
  271. RETU
  272. ENDI
  273. IF ISFILE S22&"\"*S8
  274. TRAN "^M^J"
  275. SEND ASCII S22&"\"*S8
  276. RETU
  277. ENDI
  278. TRAN S9
  279. RETU
  280. Log_Item:
  281. FOPENO S22&"\BBS-LOG" TEXT APPEND
  282. IF FAILED RETURN
  283. DATE S7
  284. CONC S9(59) S7
  285. TIME S7 1
  286. CONC S9(70) S7
  287. WRIT S9
  288. WRIT "^M"
  289. FCLOSEO
  290. RETU
  291. Copy_Tex:
  292. N20=0
  293. Copy_Loo:
  294. INC N20
  295. S9=N20&":  ^H"
  296. TRAN S9
  297. GOSU Read_Com
  298. IF FLAG(0) RETURN
  299. LENG S9 N18
  300. IF NOT ZERO N18
  301. PRES S9
  302. WRIT S9
  303. IF FAILED
  304. TRAN "Error recording text - please try later^M^J"
  305. RETU
  306. ENDI
  307. WRIT "!"
  308. GOTO Copy_Loo
  309. ELSE
  310. TRAN "^M^JComplete? (Y/N, cr=n): "
  311. GOSU Read_Com
  312. IF FLAG(0) RETURN
  313. IF NOT FIND S9 "Y"
  314. WRIT "!"
  315. GOTO Copy_Loo
  316. ENDI
  317. ENDI
  318. RETU
  319. Restart:
  320. CHDI S22
  321. SET RECH OFF
  322. SET RDIS OFF
  323. CLEA
  324. LOCA 0,0
  325. SET FLAG(1) OFF
  326. SET FLAG(2) OFF
  327. SET FLAG(3) OFF
  328. HANG
  329. MESS "^M^JWaiting..."
  330. PAUS 3
  331. SET BAUD S20(5:8)
  332. TRAN S21
  333. Wait_Con:
  334. RGET S9 80 180
  335. IF FAILED GOTO Wait_Connect
  336. FIND S9 "NO CARRIER"
  337. IF FOUND GOTO Restart
  338. FIND S9 "CONNECT"
  339. IF NOT FOUND GOTO Wait_Connect
  340. GOSU AutoBaud
  341. PAUS 3
  342. RFLU
  343. SET RECH ON
  344. SET RDIS ON
  345. PAUS 1
  346. S9="^M^JThe Flying Scotsman greets you!! ^M^J"
  347. S8="BBS-Welc"
  348. GOSU Disp_Fil
  349. N10=0
  350. ID_Query:
  351. MESS "^M^JID prompt: "
  352. TRAN "^M^JEnter your ID (or enter GUEST): "
  353. GOSU Read_Com
  354. IF FLAG(0) GOTO Exit
  355. IF NULL S9
  356. INC N10
  357. IF GE N10 3 GOTO Logon_Fail
  358. GOTO ID_Query
  359. ENDI
  360. SWIT S9
  361. CASE "GUEST"
  362. GOSU Register
  363. GOTO Exit
  364. ENDC
  365. ENDS
  366. S1=S9(0:7)
  367. UPPE S1
  368. Password:
  369. TRAN "^M^JEnter your password: "
  370. SET RECH OFF
  371. SET RDIS OFF
  372. GOSU Read_Com
  373. SET RECH ON
  374. IF FLAG(0) GOTO Exit
  375. SET RDIS ON
  376. IF NULL S9
  377. INC N10
  378. IF GE N10 3 GOTO Logon_Fail
  379. GOTO Password
  380. ENDI
  381. S1(8:79)=S9(0:7)
  382. GOSU Logon
  383. IF NOT FLAG(0)
  384. S9="Logon: "*S1(0:7)
  385. GOSU Log_Item
  386. SET FLAG(2) OFF
  387. S1=S1(0:7)
  388. CLOG "* BBS logon: "*S1
  389. TRAN "^M^J"
  390. GOTO Main_Pro
  391. ENDI
  392. Logon_Fa:
  393. TRAN "Unrecognized ID/Password^M^J"
  394. INC N10
  395. IF GE N10 3
  396. TRAN "You have exceeded the number of tries allowed for logon^M^JBye...^M^J"
  397. MESS "^M^JLogon attempts failed^M^J"
  398. S9="Failed logon"
  399. GOSU Log_Item
  400. GOTO Exit
  401. ENDI
  402. GOTO ID_Query
  403. Main_Pro:
  404. MESS "^M^JMain prompt: "
  405. GOSU Display_
  406. IF NOT FLAG(1)
  407. S9="^M^JC)omment, B)ulletins, M)ail, F)iles, A)larm or E)xit: "
  408. S8="BBS-NpMn"
  409. ELSE
  410. S9="^M^JP)rivileged, C)omment, B)ulletins, M)ail, F)iles, A)larm or E)xit: "
  411. S8="BBS-PrMn"
  412. ENDI
  413. GOSU Disp_Fil
  414. GOSU Read_Com
  415. IF FLAG(0) GOTO Exit
  416. LJ S9
  417. S9=S9(0:0)
  418. SWIT S9
  419. CASE "A"
  420. GOTO Alarm
  421. ENDC
  422. CASE "M"
  423. GOTO Mail_Com
  424. ENDC
  425. CASE "F"
  426. GOTO File_Com
  427. ENDC
  428. CASE "C"
  429. GOTO Comment
  430. ENDC
  431. CASE "B"
  432. GOTO Bull_Com
  433. ENDC
  434. CASE "E"
  435. GOTO Logoff
  436. ENDC
  437. CASE "P"
  438. IF FLAG(1) GOTO Priv_Prompt
  439. ENDC
  440. ENDS
  441. TRAN "^M^JCommand not recognized... try again^M^J"
  442. GOTO Main_Pro
  443. Logoff:
  444. CHDI S22
  445. TRAN "^M^JOK... Bye^M^J"
  446. S9="Logoff: "*S1(0:7)
  447. CLOG S9
  448. GOSU Log_Item
  449. Exit:
  450. S9="* BBS cycled"
  451. CLOG S9
  452. GOSU Log_Item
  453. MESS "^G"
  454. GOTO Restart
  455. Alarm:
  456. SOUN 440 500
  457. SOUN 493 100
  458. SOUN 554 100
  459. SOUN 587 100
  460. SOUN 659 100
  461. SOUN 739 100
  462. SOUN 830 100
  463. SOUN 880 500
  464. GOTO Main_Pro
  465. Priv_Pro:
  466. MESS "^M^JPrivilege prompt: "
  467. GOSU Display_
  468. S9="^M^JL)ist, P)ath, S)ubdir, D)OS, M)ain or E)xit: "
  469. S8="BBS-PPMn"
  470. GOSU Disp_Fil
  471. GOSU Read_Com
  472. IF FLAG(0) GOTO Exit
  473. LJ S9
  474. S9=S9(0:0)
  475. SWIT S9
  476. CASE "L"
  477. GOTO DIR
  478. ENDC
  479. CASE "S"
  480. GOTO CHDIR
  481. ENDC
  482. CASE "P"
  483. GOTO PATHLIST
  484. ENDC
  485. CASE "D"
  486. GOTO Shell
  487. ENDC
  488. CASE "M"
  489. GOTO Main_Pro
  490. ENDC
  491. CASE "E"
  492. GOTO Logoff
  493. ENDC
  494. ENDS
  495. TRAN "^M^JCommand not recognized... try again^M^J"
  496. GOTO Priv_Pro
  497. CHDIR:
  498. MESS "^M^JCHDIR Command: "
  499. TRAN "^M^JEnter the drive:subdirectory: "
  500. GOSU Read_Com
  501. IF FLAG(0) GOTO Exit
  502. IF NOT NULL S9
  503. CHDI S9
  504. SET FLAG(2) ON
  505. ENDI
  506. GOTO Priv_Pro
  507. PATHLIST:
  508. MESS "^M^JPathlist command: "
  509. TRAN "^M^JWorking..."
  510. DOS "TREED >\HOSTTEMP.TXT"
  511. TRAN "^M^JUse control-S to suspend, control-Q to continue^M^J"
  512. SEND ASCII "\HOSTTEMP.TXT"
  513. TRAN "^M^J"
  514. DELE "\HOSTTEMP.TXT"
  515. GOTO Priv_Pro
  516. Shell:
  517. MESS "^M^JDOS Command: "
  518. TRAN "^M^JWarning: this command may be used to invoke ANY COMMAND that"
  519. TRAN "^M^JDOS can execute.  If you load a program requiring keyboard  "
  520. TRAN "^M^Jentry, you lock yourself out and leave the board unusable."
  521. TRAN "^M^J"
  522. TRAN "^M^JEnter your command: "
  523. GOSU Read_Com
  524. IF FLAG(0) GOTO Exit
  525. IF NULL S9
  526. GOTO Priv_Pro
  527. ENDI
  528. IF FIND S9 "FORMAT"
  529. TRAN "^M^JFormat commands are not allowed..."
  530. GOTO Priv_Pro
  531. ENDI
  532. TRAN "^M^JWorking..."
  533. CONC S9 ">\HOSTTEMP.TXT"
  534. DOS S9
  535. TRAN "^M^JUse control-S to suspend, control-Q to continue^M^J"
  536. SEND ASCII "\HOSTTEMP.TXT"
  537. TRAN "^M^J"
  538. DELE "\HOSTTEMP.TXT"
  539. GOTO Priv_Pro
  540. Dir:
  541. MESS "^M^JDirectory command: "
  542. TRAN "^M^JWorking..."
  543. DOS "DIR >\HOSTTEMP.TXT"
  544. TRAN "^M^JUse control-S to suspend, control-Q to continue^M^J"
  545. SEND ASCII "\HOSTTEMP.TXT"
  546. TRAN "^M^J"
  547. DELE "\HOSTTEMP.TXT"
  548. GOTO Priv_Pro
  549. File_Com:
  550. MESS "^M^JFile prompt: "
  551. SUBD S19
  552. CHDI S23
  553. File_Pro:
  554. GOSU Display_
  555. S9="^M^JL)ist, S)earch, U)pload, D)ownload, M)ain or E)xit: "
  556. S8="BBS-FiMe"
  557. GOSU Disp_Fil
  558. GOSU Read_Com
  559. IF FLAG(0) GOTO Exit
  560. LJ S9
  561. S9=S9(0:0)
  562. SWIT S9
  563. CASE "D"
  564. GOTO DOWNLOAD
  565. ENDC
  566. CASE "U"
  567. GOTO UPLOAD
  568. ENDC
  569. CASE "L"
  570. GOTO FILELIST
  571. ENDC
  572. CASE "S"
  573. GOTO Search
  574. ENDC
  575. CASE "M"
  576. CHDI S19
  577. GOTO Main_Pro
  578. ENDC
  579. CASE "E"
  580. GOTO Logoff
  581. ENDC
  582. ENDS
  583. TRAN "Invalid selection - try again^M^J"
  584. GOTO FILE_Pro
  585. File_Que:
  586. MESS "^M^JFname query: "
  587. TRAN "^M^JEnter the file name: "
  588. GOSU Read_Com
  589. RETU
  590. UPLOAD:
  591. MESS "^M^JUpload from caller "
  592. GOSU File_Que
  593. IF FLAG(0) GOTO Exit
  594. IF NULL S9
  595. GOTO File_Pro
  596. ENDI
  597. IF FIND S9 "\" and NOT FLAG(1)
  598. TRAN "^M^JQualified file names are not permitted."
  599. GOTO UPLOAD
  600. ENDI
  601. IF ISDLFILE S9
  602. TRAN "^M^JFile already exists"
  603. GOTO UPLOAD
  604. ENDI
  605. MESS "^M^JUlo Method prompt: "
  606. TRAN "^M^JW)xmodem, X)modem, Y)modem (X1k), Z)modem, or K)ermit: "
  607. S8=S9
  608. GOSU Read_Com
  609. IF FLAG(0) GOTO Exit
  610. LJ S9
  611. S9=S9(0:0)
  612. TIME S10 1
  613. SWIT S9
  614. CASE "W"
  615. TRAN "^M^JBegin your transfer procedure..."
  616. GETF WXMODEM S8
  617. ENDC
  618. CASE "X"
  619. TRAN "^M^JBegin your transfer procedure..."
  620. GETF XMODEM S8
  621. ENDC
  622. CASE "Y"
  623. TRAN "^M^JBegin your transfer procedure..."
  624. GETF YMODEM S8
  625. ENDC
  626. CASE "Z"
  627. TRAN "^M^JBegin your transfer procedure..."
  628. GETF ZMODEM
  629. ENDC
  630. CASE "K"
  631. TRAN "^M^JBegin your transfer procedure..."
  632. GETF KERMIT
  633. ENDC
  634. DEFA
  635. TRAN "^M^JInvalid transfer selection"
  636. SET SUCC OFF
  637. GOTO EOTransf
  638. ENDC
  639. ENDS
  640. IF FAILED
  641. S9="Upload ("*S9(0:0)*"): "*S8&", Failure"
  642. GOSU Log_Item
  643. DELE S8
  644. SET SUCC OFF
  645. GOTO EOTransf
  646. ELSE
  647. S9="Upload ("*S9(0:0)*"): "*S8&", Success"
  648. GOSU Log_Item
  649. ENDI
  650. IF FIND S8 "\"
  651. GOTO File_Pro
  652. ENDI
  653. TIME S11 1
  654. N19=S11(0:1)*60+S11(3:4)
  655. N18=S10(0:1)*60+S10(3:4)
  656. IF GT N18 N19
  657. N19=N19+1440
  658. ENDI
  659. N0=N0+(N19-N18)
  660. Describe:
  661. TRAN "^M^JDescription: "
  662. GOSU Read_Com
  663. IF FLAG(0) GOTO Exit
  664. IF NULL S9
  665. TRAN "^M^JPlease leave something of a description"
  666. GOTO Describe
  667. ENDI
  668. FOPENO "BBS-File" TEXT APPEND
  669. IF FAILED
  670. S9="Uload of "*S8&" succeeded, but BBS-FIle open failed"
  671. GOSU Log_Item
  672. SET SUCC OFF
  673. GOTO EOTransf
  674. ENDI
  675. DATE S0
  676. S8=S8&"           "
  677. FSIZ S11 S8
  678. S10=S8(0:11)*S0(0:7)*" "*S11(0:6)*S9
  679. WRIT S10
  680. WRIT "!"
  681. FCLOSEO
  682. SET SUCC ON
  683. GOTO EOTransf
  684. DOWNLOAD:
  685. MESS "^M^JDownload to caller "
  686. GOSU File_Que
  687. IF FLAG(0) GOTO Exit
  688. IF NULL S9 GOTO File_Prompt
  689. IF FIND S9 "\"
  690. IF NOT FLAG(1)
  691. TRAN "^M^JQualified file names are not permitted."
  692. GOTO DOWNLOAD
  693. ENDI
  694. ENDI
  695. IF NOT ISFILE S9
  696. GOSU FileTest
  697. IF FAILED
  698. TRAN "^M^JFile doesn't exist"
  699. GOTO DOWNLOAD
  700. ENDI
  701. ENDI
  702. S8=S9
  703. MESS "^M^JDlo Method prompt "
  704. TRAN "^M^JW)xmodem, X)modem, Y)modem (X1k), Z)modem, K)ermit, or A)scii: "
  705. GOSU Read_Com
  706. IF FLAG(0) GOTO Exit
  707. LJ S9
  708. S9=S9(0:0)
  709. SWIT S9
  710. CASE "A"
  711. TRAN "^M^JUse control-S to suspend, control-Q to continue^M^J"
  712. SEND ASCII S8
  713. ENDC
  714. CASE "W"
  715. TRAN "^M^JBegin your transfer procedure..."
  716. SEND WXMODEM S8
  717. ENDC
  718. CASE "X"
  719. TRAN "^M^JBegin your transfer procedure..."
  720. SEND XMODEM S8
  721. ENDC
  722. CASE "Y"
  723. TRAN "^M^JBegin your transfer procedure..."
  724. SEND YMODEM S8
  725. ENDC
  726. CASE "Z"
  727. TRAN "^M^JBegin your transfer procedure..."
  728. SEND ZMODEM S8
  729. ENDC
  730. CASE "K"
  731. TRAN "^M^JBegin your transfer procedure..."
  732. SEND KERMIT S8
  733. ENDC
  734. DEFA
  735. TRAN "^M^JInvalid transfer selection"
  736. SET SUCC OFF
  737. GOTO EOTransf
  738. ENDC
  739. ENDS
  740. IF FAILED
  741. S9="Download ("*S9(0:0)*"): "*S8&", Failure"
  742. GOSU Log_Item
  743. SET SUCC OFF
  744. ELSE
  745. S9="Download ("*S9(0:0)*"): "*S8&", Success"
  746. GOSU Log_Item
  747. SET SUCC ON
  748. ENDI
  749. EOTransf:
  750. IF FAILED
  751. MESS "^M^JTransfer failed "
  752. ELSE
  753. MESS "^M^JTransfer OK "
  754. ENDI
  755. GOTO File_Pro
  756. FileTest:
  757. FOPENI "BBS-File" TEXT
  758. IF FAILED
  759. SET SUCC OFF
  760. RETU
  761. ENDI
  762. LJ S9
  763. FTestLoo:
  764. READ S0 80 N19
  765. IF EOF GOTO FTestEnd
  766. IF FIND S0(0:0) "*" GOTO FTestLoop
  767. IF NOT FIND S0(0:11) S9 GOTO FTestLoop
  768. S2=S0(0:11)
  769. IF FIND S0(28:28) "^A"
  770. IF FIND S0(29:79) "^A" N11
  771. S2=S0(29:29+N11-1)&"\"*S2
  772. ENDI
  773. ENDI
  774. IF NOT ISFILE S2 GOTO FTestLoop
  775. S9=S2
  776. FCLOSEI
  777. SET SUCC ON
  778. RETU
  779. FTestEnd:
  780. FCLOSEI
  781. SET SUCC OFF
  782. RETU
  783. Filelist:
  784. N10=0
  785. FOPENI "BBS-File" TEXT
  786. IF FAILED
  787. TRAN "^M^JNo files are available at this time^M^J"
  788. GOTO File_Pro
  789. ENDI
  790. FListLoo:
  791. READ S9 80 N19
  792. IF EOF GOTO FListEnd
  793. IF FIND S9(0:0) "*" GOTO FListPrint
  794. S0=S9(0:11)
  795. IF FIND S9(28:28) "^A"
  796. IF FIND S9(29:79) "^A" N11
  797. S0=S9(29:29+N11-1)&"\"*S0
  798. S9(28:79)=S9(29+N11+1:79)
  799. ENDI
  800. ENDI
  801. IF NOT ISFILE S0 GOTO FListLoop
  802. IF FIND S9(12:12) "*"
  803. FDAT S2 S0 1
  804. FSIZ S3 S0
  805. S9(12:19)=S2
  806. S9(21:27)=S3
  807. ENDI
  808. IF ZERO N10
  809. TRAN "^M^JName           Dated    Size    Description ^M^J"
  810. TRAN "------------ -------- ------- ----------------------------------------------^M^J"
  811. ENDI
  812. S9=S9(0:11)*" "*S9(12:19)*" "*S9(21:27)*" "*S9(28:79)
  813. FListPri:
  814. PRES S9
  815. TRAN S9
  816. TRAN "^M^J"
  817. N10=N10+1
  818. GOTO FListLoo
  819. FListEnd:
  820. FCLOSEI
  821. GOTO File_Pro
  822. Search:
  823. TRAN "^M^JEnter the search string: "
  824. GOSU Read_Com
  825. IF FLAG(0) GOTO Exit
  826. IF NULL S9 GOTO File_Prompt
  827. S18=S9
  828. FOPENI "BBS-File" TEXT
  829. IF FAILED
  830. TRAN "^M^JNo files are available at this time^M^J"
  831. GOTO File_Pro
  832. ENDI
  833. N10=0
  834. Search_L:
  835. READ S9 80 N19
  836. IF EOF GOTO Search_End
  837. IF FIND S9(0:0) "*" GOTO Search_Loop
  838. S0=S9(0:11)
  839. IF FIND S9(28:28) "^A"
  840. IF FIND S9(29:79) "^A" N11
  841. S0=S9(29:29+N11-1)&"\"*S0
  842. S9(28:79)=S9(29+N11+1:79)
  843. ENDI
  844. ENDI
  845. IF NOT ISFILE S0 GOTO Search_Loop
  846. IF FIND S9(12:12) "*"
  847. FDAT S2 S0 1
  848. FSIZ S3 S0
  849. S9(12:19)=S2
  850. S9(21:27)=S3
  851. ENDI
  852. IF NOT FIND S9 S18 GOTO Search_Loop
  853. IF ZERO N10
  854. TRAN "^M^JName           Dated    Size    Description ^M^J"
  855. TRAN "------------ -------- ------- ----------------------------------------------^M^J"
  856. ENDI
  857. S0=S9(0:11)*" "*S9(12:19)*" "*S9(21:27)*" "*S9(28:79)
  858. PRES S0
  859. TRAN S0
  860. TRAN "^M^J"
  861. N10=N10+1
  862. GOTO Search_L
  863. Search_E:
  864. IF ZERO N10
  865. TRAN "^M^JNo matches"
  866. ENDI
  867. FCLOSEI
  868. GOTO File_Pro
  869. Comment:
  870. SUBD S19
  871. CHDI S22
  872. MESS "^M^JComment requested "
  873. S9="Do you wish to leave a comment? (Y/N, cr=n): "
  874. S8="BBS-NoMe"
  875. GOSU Disp_Fil
  876. GOSU Read_Com
  877. IF FLAG(0) GOTO Exit
  878. FIND S9 "Y"
  879. IF NOT FOUND
  880. TRAN "OK"
  881. CHDI S19
  882. GOTO Main_Pro
  883. ENDI
  884. FOPENO "BBS-Note" TEXT APPEND
  885. IF FAILED
  886. TRAN "Error recording note - please try later^M^J"
  887. CHDI S19
  888. GOTO Main_Pro
  889. ENDI
  890. S9="*** Note left by "
  891. CONC S9(17) S1
  892. DATE S8
  893. CONC S9(25) S8(0:9)
  894. TIME S8 1
  895. CONC S9(35) S8(0:7)
  896. WRIT S9
  897. WRIT "!"
  898. TRAN "Each line, as you enter it will be recorded.  No edits, yet...^M^J"
  899. TRAN "Enter a line/line(s) of text.  A blank line ends the note.^M^J"
  900. GOSU Copy_Tex
  901. WRIT "------------!"
  902. FCLOSEO
  903. IF FLAG(0) GOTO Exit
  904. TRAN "Your note has been recorded - thanks^M^J"
  905. S9="Comment recorded"
  906. GOSU Log_Item
  907. CHDI S19
  908. GOTO Main_Pro
  909. Bull_Com:
  910. SUBD S19
  911. CHDI S25
  912. BULL_Lis:
  913. MESS "^M^JBulletin list: "
  914. N10=0
  915. FOPENI "BBS-Bull" TEXT
  916. IF FAILED
  917. TRAN "^M^JNo bulletins exist^M^J"
  918. CHDI S19
  919. GOTO Main_Pro
  920. ENDI
  921. Bull_Loo:
  922. READ S9 80 N19
  923. IF EOF GOTO Bull_Prompt
  924. IF NOT NULL S9(13:13)
  925. IF NOT FLAG(1) GOTO Bull_Loop
  926. ENDI
  927. IF FIND S9(0:0) "*" GOTO Bull_Loop
  928. S0=S9(14:25)
  929. IF NOT ISFILE S0 GOTO Bull_Loop
  930. IF ZERO N10
  931. TRAN "^M^JNum    Dated     Subject^M^J"
  932. TRAN "----- -------- -------------------------------------------------------------^M^J"
  933. ENDI
  934. S0=S9(0:4)*" "*S9(5:12)*" "*S9(26:79)
  935. PRES S0
  936. TRAN S0
  937. TRAN "^M^J"
  938. N10=N10+1
  939. GOTO Bull_Loo
  940. Bull_Pro:
  941. FCLOSEI
  942. GOSU Display_
  943. S9="^M^JL)ist, M)ain, E)xit, or a bulletin number: "
  944. S8="BBS-BuMe"
  945. GOSU Disp_Fil
  946. GOSU Read_Com
  947. IF FLAG(0) GOTO Exit
  948. LJ S9
  949. IF FIND S9(0:0) "L"
  950. GOTO Bull_Lis
  951. ENDI
  952. IF FIND S9(0:0) "M"
  953. CHDI S19
  954. GOTO Main_Pro
  955. ENDI
  956. IF FIND S9(0:0) "E"
  957. GOTO Logoff
  958. ENDI
  959. FOPENI "BBS-Bull" TEXT
  960. IF FAILED
  961. TRAN "^M^JNo bulletins available^M^J"
  962. CHDI S19
  963. GOTO Main_Pro
  964. ENDI
  965. S0=S9
  966. Bull_Sca:
  967. READ S9 80 N19
  968. IF EOF
  969. TRAN "^M^JNo such bulletin!! ^M^J"
  970. FCLOSEI
  971. GOTO Bull_Pro
  972. ENDI
  973. IF FIND S9(0:0) "*" GOTO Bull_Scan
  974. IF NOT NULL S9(13:13)
  975. IF NOT FLAG(1) GOTO Bull_Scan
  976. ENDI
  977. S8=S9(14:25)
  978. IF NOT ISFILE S8 GOTO Bull_Scan
  979. S9=S9(0:4)
  980. LJ S9
  981. SWIT S9
  982. CASE S0(0:4)
  983. GOTO Bull_Rea
  984. ENDC
  985. ENDS
  986. GOTO Bull_Sca
  987. Bull_Rea:
  988. FCLOSEI
  989. MESS "^M^JReading bulletin: "*S8
  990. S9="^M^JError opening bulletin file"
  991. GOSU Disp_Fil
  992. S9="Bulletin "*S8&" read"
  993. GOSU Log_Item
  994. GOTO Bull_Pro
  995. Mail_Com:
  996. MESS "^M^JMail prompt: "
  997. SUBD S19
  998. CHDI S24
  999. Mail_Pro:
  1000. GOSU Display_
  1001. S9="^M^JS)can, L)ist, N)ew, A)ll, W)rite, M)ain or E)xit: "
  1002. S8="BBS-MeMe"
  1003. GOSU Disp_Fil
  1004. GOSU Read_Com
  1005. IF FLAG(0) GOTO Exit
  1006. LJ S9
  1007. S9=S9(0:0)
  1008. SWIT S9
  1009. CASE "N"
  1010. GOTO Read_New
  1011. ENDC
  1012. CASE "A"
  1013. GOTO Read_All
  1014. ENDC
  1015. CASE "W"
  1016. GOTO Write_ms
  1017. ENDC
  1018. CASE "S"
  1019. GOTO Scan_Msg
  1020. ENDC
  1021. CASE "L"
  1022. GOTO List_Msg
  1023. ENDC
  1024. CASE "M"
  1025. CHDI S19
  1026. GOTO Main_Pro
  1027. ENDC
  1028. CASE "E"
  1029. GOTO Logoff
  1030. ENDC
  1031. ENDS
  1032. TRAN "Invalid selection - try again^M^J"
  1033. GOTO Mail_Pro
  1034. Scan_Msg:
  1035. N10=0
  1036. N11=0
  1037. FOPENI "BBS-Mail" TEXT
  1038. IF FAILED GOTO Scan_Rpt
  1039. TRAN "^M^JWorking..."
  1040. Scan_Loo:
  1041. READ S9 80 N19
  1042. IF EOF GOTO Scan_Rpt
  1043. S0=S9(0:7)
  1044. SWIT S0
  1045. CASE S1
  1046. S0=S9(25:37)
  1047. IF ISFILE S0 INC N11
  1048. ENDC
  1049. ENDS
  1050. INC N10
  1051. N12=N10/10*10
  1052. IF EQ N10 N12
  1053. TRAN "."
  1054. ENDI
  1055. GOTO Scan_Loo
  1056. Scan_Rpt:
  1057. IF ZERO N11
  1058. TRAN "^M^JYou have no messages waiting"
  1059. ELSE
  1060. STRF S0 "^M^JYou have %d message(s) waiting." N11
  1061. TRAN S0
  1062. ENDI
  1063. FCLOSEI
  1064. GOTO Mail_Pro
  1065. List_Msg:
  1066. N10=0
  1067. FOPENI "BBS-Mail" TEXT
  1068. IF FAILED
  1069. TRAN "^M^JNo mail exists - why not write something?^M^J"
  1070. GOTO Mail_Pro
  1071. ENDI
  1072. List_Loo:
  1073. READ S9 80 N19
  1074. IF EOF GOTO List_End
  1075. S0=S9(0:7)
  1076. SWIT S0
  1077. CASE S1
  1078. ENDC
  1079. DEFA
  1080. IF FIND S9(16:16) "P"
  1081. IF NOT STRCMP S9(8:15) S1
  1082. GOTO List_Loo
  1083. ENDI
  1084. ENDI
  1085. ENDC
  1086. ENDS
  1087. S0=S9(25:37)
  1088. IF NOT ISFILE S0 GOTO List_Loop
  1089. IF ZERO N10
  1090. TRAN "^M^JTo       From        Date     Subject^M^J"
  1091. TRAN "-------- -------- -------- -------------------------------------------------^M^J"
  1092. ENDI
  1093. S0=S9(0:7)*" "*S9(8:15)*" "*S9(17:24)*" "*S9(38:79)
  1094. PRES S0
  1095. TRAN S0
  1096. TRAN "^M^J"
  1097. N10=N10+1
  1098. GOTO List_Loo
  1099. List_End:
  1100. FCLOSEI
  1101. GOTO Mail_Pro
  1102. Read_New:
  1103. S7="        "
  1104. IF NOT ISFILE S1&".NEW" GOTO Read_Msg
  1105. FOPENI S1&".NEW" TEXT
  1106. IF FAILED GOTO Read_Msg
  1107. READ S7 8 N19
  1108. FCLOSEI
  1109. GOTO Read_Msg
  1110. Read_All:
  1111. S7="        "
  1112. GOTO Read_Msg
  1113. DateTest:
  1114. IF NOT NUMERIC S2(0) or NOT NUMERIC S2(3) or NOT NUMERIC S2(6)
  1115. N10=0
  1116. RETU
  1117. ENDI
  1118. IF NOT NUMERIC S0(0) or NOT NUMERIC S0(3) or NOT NUMERIC S0(6)
  1119. N10=0
  1120. RETU
  1121. ENDI
  1122. IF S0(6:7) EQ S2(6:7)
  1123. N10=(S0(0:1)*100+S0(3:4))-(S2(0:1)*100+S2(3:4))
  1124. IF N10 LT 0
  1125. N10=-1
  1126. ELSE
  1127. IF N10 GT 0
  1128. N10=1
  1129. ELSE
  1130. N10=0
  1131. ENDI
  1132. ENDI
  1133. RETU
  1134. ENDI
  1135. N10=S0(6:7)+1900
  1136. N11=S2(6:7)+1900
  1137. IF S0(6:7) LT 80 N10=N10+100
  1138. IF S2(6:7) LT 80 N11=N10+100
  1139. IF N10 LT N11
  1140. N10=-1
  1141. ELSE
  1142. IF N10 GT N11
  1143. N10=1
  1144. ELSE
  1145. N10=0
  1146. ENDI
  1147. ENDI
  1148. RETU
  1149. Read_Msg:
  1150. FOPENI "BBS-Mail" TEXT
  1151. IF FAILED
  1152. TRAN "^M^JNo mail exists - why not write something?^M^J"
  1153. GOTO Mail_Pro
  1154. ENDI
  1155. S3="        "
  1156. Read_Loo:
  1157. READ S9 80 N19
  1158. IF EOF GOTO Read_End
  1159. S2=S9(17:24)
  1160. S0=S7
  1161. GOSU DateTest
  1162. IF N10 GT 0 GOTO Read_Loop
  1163. S0=S9(0:7)
  1164. SWIT S0
  1165. CASE S1
  1166. SET FLAG(9) ON
  1167. ENDC
  1168. DEFA
  1169. SET FLAG(9) OFF
  1170. IF STRCMP S9(8:15) S1 SET FLAG(9) ON
  1171. IF FIND S9(16:16) "P" and NOT FLAG(9)
  1172. GOTO Read_Loo
  1173. ENDI
  1174. ENDC
  1175. ENDS
  1176. S0=S9(25:37)
  1177. IF NOT ISFILE S0 GOTO Read_Loop
  1178. S4=S9(8:15)
  1179. S5=S9(38:79)
  1180. S8=S0
  1181. S9="^M^JError opening mailfile"
  1182. GOSU Disp_Fil
  1183. S0=S3
  1184. GOSU DateTest
  1185. IF NULL S3 or N10 LT 0 S3=S2
  1186. Read_Dis:
  1187. IF FLAG(9)
  1188. TRAN "^M^JD)elete, R)eply, Q)uit (cr=continue): "
  1189. ELSE
  1190. TRAN "^M^JR)eply, Q)uit (cr=continue): "
  1191. ENDI
  1192. GOSU Read_Com
  1193. IF FLAG(0) GOTO Exit
  1194. LJ S9
  1195. S9=S9(0:0)
  1196. IF NULL S9 S9="c"
  1197. SWIT S9
  1198. CASE "D"
  1199. IF FLAG(9)
  1200. DELE S8
  1201. TRAN "Message deleted^M^J"
  1202. ELSE
  1203. TRAN "You may not delete this note^M^J"
  1204. ENDI
  1205. ENDC
  1206. CASE "R"
  1207. S10=S4
  1208. S11=S5
  1209. IF NOT STRCMP S5(0:9) "Reply to: " S11="Reply to: "*S5
  1210. GOSU Reply
  1211. IF FLAG(0) GOTO Exit
  1212. ENDC
  1213. CASE "C"
  1214. GOTO Read_Loo
  1215. ENDC
  1216. CASE "Q"
  1217. GOTO Read_End
  1218. ENDC
  1219. DEFA
  1220. TRAN "^M^JUnrecognized command - please try again^M^J"
  1221. ENDC
  1222. ENDS
  1223. GOTO Read_Dis
  1224. Read_End:
  1225. FCLOSEI
  1226. IF NOT NULL S3
  1227. FOPENO S1&".NEW" TEXT
  1228. IF FAILED GOTO Mail_Prompt
  1229. WRIT S3*"!"
  1230. FCLOSEO
  1231. ENDI
  1232. GOTO Mail_Pro
  1233. Write_Ms:
  1234. GOSU Compose
  1235. IF FLAG(0) GOTO Exit
  1236. GOTO Mail_Pro
  1237. Compose:
  1238. TRAN "To:  ^H"
  1239. GOSU Read_Com
  1240. IF FLAG(0) RETURN
  1241. LJ S9
  1242. IF NULL S9 RETURN
  1243. S10=S9(0:7)
  1244. UPPE S10
  1245. TRAN "Subject:    ^H"
  1246. GOSU Read_Com
  1247. IF FLAG(0) RETURN
  1248. S11=S9
  1249. PRES S11
  1250. Reply:
  1251. FOPENO "\HOSTTEMP.TXT" TEXT
  1252. IF FAILED
  1253. TRAN "Error opening file - please try later^M^J"
  1254. RETU
  1255. ENDI
  1256. S9="To:       "
  1257. CONC S9(7) S10
  1258. WRIT S9
  1259. WRIT "!"
  1260. S9="From: "
  1261. CONC S9(7) S1
  1262. WRIT S9
  1263. WRIT "!"
  1264. S9="Date: "
  1265. DATE S12
  1266. CONC S9(7) S12
  1267. TIME S8 1
  1268. CONC S9(17) S8
  1269. WRIT S9
  1270. WRIT "!"
  1271. S9="Subject: "
  1272. CONC S9(9) S11
  1273. WRIT S9
  1274. WRIT "!"
  1275. WRIT "!"
  1276. TRAN "Each line, as you enter it will be recorded.  No edits, yet...^M^J"
  1277. TRAN "Enter a line/line(s) of text.  A blank line ends the text.^M^J"
  1278. GOSU Copy_Tex
  1279. FCLOSEO
  1280. IF FLAG(0) RETURN
  1281. TRAN "Save? (Y/N, cr=y):  ^H"
  1282. GOSU Read_Com
  1283. IF FLAG(0) RETURN
  1284. IF FIND S9 "N" RETURN
  1285. TRAN "^M^JScanning for free slot"
  1286. N10=0
  1287. S0=S10(0:7)
  1288. WHIL ISFILE S0&"."&N10
  1289. INC N10
  1290. IF N10 GT 999
  1291. TRAN "^M^JToo many notes left undeleted - cannot save^M^J"
  1292. RETU
  1293. ENDI
  1294. ENDW
  1295. TRAN "^M^JPrivate? (Y/N, cr=n): "
  1296. GOSU Read_Com
  1297. IF FLAG(0) RETURN
  1298. S13=" "
  1299. IF FIND S9 "Y" S13="P"
  1300. S0=S0&"."&N10
  1301. S9="COPY \HOSTTEMP.TXT "*S0
  1302. DOS S9
  1303. FOPENO "BBS-Mail" TEXT APPEND
  1304. WRIT S10 8
  1305. WRIT S1 8
  1306. WRIT S13 1
  1307. WRIT S12 8
  1308. WRIT S0 13
  1309. WRIT S11 40
  1310. WRIT "!"
  1311. FCLOSEO
  1312. RETU
  1313. Register:
  1314. MESS "^M^JRegistration requested "
  1315. S9="Do you wish to register? (Y/N, cr=y): "
  1316. S8="BBS-ReMe"
  1317. GOSU Disp_Fil
  1318. GOSU Read_Com
  1319. IF FLAG(0)
  1320. S9="Registration aborted - disconn"
  1321. GOSU Log_Item
  1322. RETU
  1323. ENDI
  1324. IF FIND S9 "N"
  1325. S9="Registration declined by caller"
  1326. GOSU Log_Item
  1327. TRAN "OK - bye^M^J"
  1328. RETU
  1329. ENDI
  1330. TRAN "Enter your full name: "
  1331. GOSU Read_Com
  1332. IF FLAG(0) RETURN
  1333. S18=S9
  1334. TRAN "Enter your street address: "
  1335. GOSU Read_Com
  1336. IF FLAG(0) RETURN
  1337. S17=S9
  1338. TRAN "Enter your city/state and zip: "
  1339. GOSU Read_Com
  1340. IF FLAG(0) RETURN
  1341. S16=S9
  1342. TRAN "Enter a area code and phone number where^M^J"
  1343. TRAN "you may be reached:  "
  1344. GOSU Read_Com
  1345. IF FLAG(0) RETURN
  1346. S15=S9
  1347. Reg_ID:
  1348. TRAN "Enter the ID (1-8 chars) you wish to use: "
  1349. GOSU Read_Com
  1350. IF FLAG(0) RETURN
  1351. IF FIND S9(0:7) "."
  1352. TRAN "ID may not contain '.'s^M^J"
  1353. GOTO Reg_ID
  1354. ENDI
  1355. IF FIND S9(0:7) ","
  1356. TRAN "ID may not contain ','s^M^J"
  1357. GOTO Reg_ID
  1358. ENDI
  1359. IF FIND S9(0:7) "\"
  1360. TRAN "ID may not contain '\'s^M^J"
  1361. GOTO Reg_ID
  1362. ENDI
  1363. IF FIND S9(0:7) "/"
  1364. TRAN "ID may not contain '/'s^M^J"
  1365. GOTO Reg_ID
  1366. ENDI
  1367. S14=S9(0:7)
  1368. Reg_Pass:
  1369. TRAN "Enter the password (1-8 chars) you wish to use: "
  1370. GOSU Read_Com
  1371. IF FLAG(0) RETURN
  1372. IF NULL S9(0:7)
  1373. TRAN "You must have a password^M^J"
  1374. GOTO Reg_Pass
  1375. ENDI
  1376. S14=S14&";"&S9(0:7)
  1377. TRAN "^M^JRepeating your entry...^M^J"
  1378. TRAN S18
  1379. TRAN "^M^J"
  1380. TRAN S17
  1381. TRAN "^M^J"
  1382. TRAN S16
  1383. TRAN "^M^J"
  1384. TRAN S15
  1385. TRAN "^M^J"
  1386. TRAN S14
  1387. TRAN "^M^JIs this correct? (Y/N, cr=n): "
  1388. GOSU Read_Com
  1389. IF FLAG(0) RETURN
  1390. FIND S9 "Y"
  1391. IF NOT FOUND GOTO Register
  1392. FOPENO "BBS-Note" TEXT APPEND
  1393. IF FAILED
  1394. TRAN "Error recording registration - please call back^M^J"
  1395. RETU
  1396. ENDI
  1397. S9="*** Registration requested: "
  1398. DATE S1
  1399. CONC S9(27) S1
  1400. TIME S1 1
  1401. CONC S9(38) S1
  1402. WRIT S9
  1403. WRIT "!"
  1404. WRIT S18 80
  1405. WRIT "!"
  1406. WRIT S17 80
  1407. WRIT "!"
  1408. WRIT S16 80
  1409. WRIT "!"
  1410. WRIT S15 80
  1411. WRIT "!"
  1412. WRIT S14 80
  1413. WRIT "!"
  1414. WRIT "------------!"
  1415. S9="Registration requested"
  1416. GOSU Log_Item
  1417. TRAN "Your request will be processed by the SYSOP^M^J"
  1418. TRAN "Thanks for calling...^M^J"
  1419. FCLOSEO
  1420. RETU
  1421. AutoBaud:
  1422. IF FIND S9 "1200"
  1423. SET BAUD 1200
  1424. GOTO AUBA100
  1425. ENDI
  1426. IF FIND S9 "2400"
  1427. SET BAUD 2400
  1428. GOTO AUBA100
  1429. ENDI
  1430. IF FIND S9 "4800"
  1431. SET BAUD 4800
  1432. GOTO AUBA100
  1433. ENDI
  1434. IF FIND S9 "9600"
  1435. SET BAUD 9600
  1436. GOTO AUBA100
  1437. ENDI
  1438. IF FIND S9 "14400" or FIND S9 "14.4"
  1439. SET BAUD 14k
  1440. GOTO AUBA100
  1441. ENDI
  1442. IF FIND S9 "19200" or FIND S9 "19.2"
  1443. SET BAUD 19k
  1444. GOTO AUBA100
  1445. ENDI
  1446. IF FIND S9 "38400" or FIND S9 "38.4"
  1447. SET BAUD 38k
  1448. GOTO AUBA100
  1449. ENDI
  1450. IF FIND S9 "57600" or FIND S9 "57.6"
  1451. SET BAUD 57k
  1452. GOTO AUBA100
  1453. ENDI
  1454. SET BAUD 300
  1455. AUBA100:
  1456. GOSU Log_Item
  1457. RETU
  1458.